const { defineConfig } = require("@vue/cli-service");

module.exports = defineConfig({
    //Vue Template关闭eslint校验
    lintOnSave:false,
  //设置为空打包后不分更目录还是多级目录
  publicPath: "",
  //build编译后存放静态文件的目录
  //assetsDir: "static",

  // build编译后不生成资源MAP文件
  productionSourceMap: false,

  //开发服务,build后的生产模式还需nginx代理
  devServer: {
    open: false, //运行后自动打开浏览器
    port: process.env.VUE_APP_PORT, //挂载端口
    proxy: {
      "/api": {
        target: process.env.VUE_APP_API_BASEURL,
        ws: true,
        pathRewrite: {
          "^/api": "/super",
        },
      },

      //上传文件代理 图片或文件能访问的地址
      // '/uploads': {
      // 	target: "http://pddadmin.he4966.cn/",
      // 	// ws: true,
      // 	pathRewrite: {
      // 		'^/uploads': '/uploads'
      // 	}
      // },

      "/uploads": {
        target: "http://obs.pddds.cn/",
        // ws: true,
        // secure:true,
        pathRewrite: {
          "^/uploads": "/uploads",
        },
      },

      "/image": {
        target: "http://obs.pddds.cn/",
        // ws: true,
        secure: true,
        pathRewrite: {
          "^/image": "/image",
        },
      },

      // //文档代理
      // '/': {
      // 	target: "http://pddadmin.he4966.cn/",
      // 	// ws: true,
      // 	pathRewrite: {
      // 		'^/': '/api/'
      // 	}
      // }
    },
  },

  chainWebpack: (config) => {
    // 移除 prefetch 插件
    config.plugins.delete("preload");
    config.plugins.delete("prefetch");
    config.resolve.alias.set("vue-i18n", "vue-i18n/dist/vue-i18n.cjs.js");
  },

  configureWebpack: {
    //性能提示
    performance: {
      hints: false,
    },
    optimization: {
      splitChunks: {
        chunks: "all",
        automaticNameDelimiter: "~",
        name: "scuiChunks",
        cacheGroups: {
          //第三方库抽离
          vendor: {
            name: "modules",
            test: /[\\/]node_modules[\\/]/,
            priority: -10,
          },
          elicons: {
            name: "elicons",
            test: /[\\/]node_modules[\\/]@element-plus[\\/]icons-vue[\\/]/,
          },
          tinymce: {
            name: "tinymce",
            test: /[\\/]node_modules[\\/]tinymce[\\/]/,
          },
          echarts: {
            name: "echarts",
            test: /[\\/]node_modules[\\/]echarts[\\/]/,
          },
          xgplayer: {
            name: "xgplayer",
            test: /[\\/]node_modules[\\/]xgplayer.*[\\/]/,
          },
          codemirror: {
            name: "codemirror",
            test: /[\\/]node_modules[\\/]codemirror[\\/]/,
          },
        },
      },
    },
  },
});
